package trabajo.sw;

import clases.domain.Modelo;
import clases.domain.Version;
import ejb.session.MantenedoresLocal;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import org.primefaces.event.RowEditEvent;

@ManagedBean
@RequestScoped
public class GestionadorVersionMB {

    private int numVersion;
    private String nombreVersion;
    private int numPuertas;
    private int numeroModeloSelect;
    private int cajaVelocidad;
    
    private List<Version> versiones;

    @EJB
    private MantenedoresLocal mantenedorEjb;

    public void agregarVersion() {
        System.out.println("agregarVersion");
        Version version = new Version();
        version.setCajaVelocidad(cajaVelocidad);
        version.setNombreVersion(nombreVersion);
        version.setNumPuertas(numPuertas);
        Modelo modelo = new Modelo();
        modelo.setNumeroModelo(numeroModeloSelect);
        version.setModelo(modelo);
        mantenedorEjb.insertVersion(version);
    }

    public void onEdit(RowEditEvent event) {
        Version versionEdit = (Version) event.getObject();
        mantenedorEjb.updateVersion(versionEdit);
        System.out.println("Edicion " + versionEdit.getNombreVersion());
    }

    public void onCancel(RowEditEvent event) {

        boolean estado = false;
        Version version = (Version) event.getObject();

        System.out.println("Eliminar " + version.getNombreVersion());
        estado = mantenedorEjb.deleteVersion(version);
        if (estado) {
            versiones.clear();
        }
    }

       public List<Version> getVersiones() {
        if(versiones==null){
           versiones = mantenedorEjb.getListVersiones();
        }
        return versiones;
    }

    public void setVersiones(List<Version> versiones) {
        this.versiones = versiones;
    }

    /**
     * @return the nombreVersion
     */
    public String getNombreVersion() {
        return nombreVersion;
    }

    /**
     * @param nombreVersion the nombreVersion to set
     */
    public void setNombreVersion(String nombreVersion) {
        this.nombreVersion = nombreVersion;
    }

    /**
     * @return the numPuertas
     */
    public int getNumPuertas() {
        return numPuertas;
    }

    /**
     * @param numPuertas the numPuertas to set
     */
    public void setNumPuertas(int numPuertas) {
        this.numPuertas = numPuertas;
    }

    /**
     * @return the numeroModeloSelect
     */
    public int getNumeroModeloSelect() {
        return numeroModeloSelect;
    }

    /**
     * @param numeroModeloSelect the numeroModeloSelect to set
     */
    public void setNumeroModeloSelect(int numeroModeloSelect) {
        this.numeroModeloSelect = numeroModeloSelect;
    }

    /**
     * @return the cajaVelocidad
     */
    public int getCajaVelocidad() {
        return cajaVelocidad;
    }

    /**
     * @param cajaVelocidad the cajaVelocidad to set
     */
    public void setCajaVelocidad(int cajaVelocidad) {
        this.cajaVelocidad = cajaVelocidad;
    }

    /**
     * @return the numVersion
     */
    public int getNumVersion() {
        return numVersion;
    }

    /**
     * @param numVersion the numVersion to set
     */
    public void setNumVersion(int numVersion) {
        this.numVersion = numVersion;
    }
}
